ARP-Scan
/etc/hosts
Nmap wurde verwendet, um offene Ports und laufende Dienste auf dem Zielsystem zu identifizieren. Port 80 (HTTP) und Port 111 (rpcbind) sind offen. Nginx 1.6.2 läuft auf Port 80. Dies deutet auf einen Webserver hin. Der rpcbind-Dienst deutet auf RPC-Dienste hin, die möglicherweise weitere Angriffspunkte bieten.
Empfehlung:
Die Nginx-Version 1.6.2 ist veraltet und anfällig für verschiedene Sicherheitslücken. Ein Update auf eine aktuelle Version wird dringend empfohlen.
Nikto hat das Ziel auf bekannte Schwachstellen untersucht. Es wurden fehlende X-Frame-Options- und X-Content-Type-Options-Header gefunden, was potenzielle Clickjacking- und MIME-Sniffing-Angriffe ermöglicht. Besonders wichtig ist das Auffinden der Datei `/wp-config.php`, da diese Anmeldeinformationen enthalten kann.
Empfehlung:
Die gefundenen Header sollten konfiguriert werden, um die Sicherheit zu erhöhen. Der Zugriff auf die `/wp-config.php`-Datei sollte eingeschränkt werden, um die Anmeldeinformationen zu schützen.
Gobuster wurde verwendet, um versteckte Dateien und Verzeichnisse auf dem Webserver zu finden. Es wurden verschiedene PHP-Dateien gefunden, darunter `index.php`, `contact.php`, `faq.php`, `solutions.php`, `footer.php`, `about-us.php` und `thankyou.php`. Das Verzeichnis `/images/` ist ebenfalls vorhanden.
Empfehlung:
Alle gefundenen Dateien und Verzeichnisse sollten auf potenzielle Schwachstellen untersucht werden. Insbesondere sollte geprüft werden, ob die PHP-Dateien anfällig für Remote Code Execution (RCE) oder andere Angriffe sind.
Der Quellcode der Datei `thankyou.php` enthält den Hinweis "DC-5 is alive!". Dies könnte ein Hinweis auf die Version oder den Zweck des Systems sein.
Der Zugriff auf das Verzeichnis `/images/` ist verboten (403 Forbidden). Dies deutet darauf hin, dass der Zugriff auf dieses Verzeichnis eingeschränkt ist.
Wfuzz wurde verwendet, um eine Path Traversal-Schwachstelle in der Datei `thankyou.php` zu finden. Es wurde versucht, die Datei `/etc/passwd` über den Parameter `FUZZ` einzulesen. Eine Antwort mit dem Statuscode 200 deutet darauf hin, dass die Schwachstelle vorhanden ist.
Empfehlung:
Die Path Traversal-Schwachstelle in der Datei `thankyou.php` muss behoben werden, um unbefugten Zugriff auf das Dateisystem zu verhindern. Dies kann durch Validierung und Bereinigung der Eingaben erfolgen.
Mithilfe von `curl` wurde die Datei `/etc/passwd` erfolgreich über die Path Traversal-Schwachstelle in der Datei `thankyou.php` ausgelesen. Dies bestätigt die Schwachstelle und zeigt, dass Angreifer sensible Systeminformationen abrufen können.
Empfehlung:
Die Path Traversal-Schwachstelle muss umgehend behoben werden, um weitere Angriffe zu verhindern. Es sollten zudem Maßnahmen ergriffen werden, um die Protokollierung und Überwachung von Dateizugriffen zu verbessern.
Das Tool `php_filter_chain_generator` wurde verwendet, um eine PHP-Filterkette zu generieren, die es ermöglicht, beliebigen Code auszuführen. Die generierte Kette wird verwendet, um den Parameter `cmd` über die GET-Methode auszuführen.
Die generierte PHP-Filterkette wurde verwendet, um den Befehl `id` auszuführen. Die Ausgabe zeigt, dass der Code als Benutzer `www-data` ausgeführt wurde. Dies bestätigt, dass eine Remote Code Execution (RCE)-Schwachstelle vorhanden ist.
Empfehlung:
Die RCE-Schwachstelle muss umgehend behoben werden, um zu verhindern, dass Angreifer beliebigen Code auf dem System ausführen können. Dies kann durch Deaktivierung der `allow_url_fopen`-Option in der PHP-Konfiguration oder durch Implementierung strengerer Eingabevalidierung erfolgen.
Die generierte PHP-Filterkette wurde verwendet, um eine Reverse Shell zu starten. Der Befehl `nc -lvnp 9001` auf dem Angreifer-System empfängt die Verbindung vom Zielsystem. Die Ausgabe zeigt, dass die Reverse Shell erfolgreich gestartet wurde und der Benutzer `www-data` ist.
Empfehlung:
Die RCE-Schwachstelle muss umgehend behoben werden, um zu verhindern, dass Angreifer eine Reverse Shell starten und das System kompromittieren können. Es sollten zudem Maßnahmen ergriffen werden, um die Netzwerkkommunikation zu überwachen und verdächtige Verbindungen zu erkennen.
Der Befehl `find / -type f -perm -0002 -ls 2>/dev/null` sucht nach Dateien mit weltweit beschreibbaren Berechtigungen. Die Ausgabe zeigt eine Liste von Dateien im `/proc`-Verzeichnis. Diese Dateien könnten potenziell ausgenutzt werden, um Privilegien zu eskalieren.
Empfehlung:
Die Berechtigungen für die gefundenen Dateien sollten überprüft und gegebenenfalls angepasst werden, um unbefugten Zugriff zu verhindern.
Der Befehl `file /usr/bin/wall` gibt Informationen über die Datei `/usr/bin/wall` aus. Die Ausgabe zeigt, dass es sich um eine setgid-Datei handelt, was bedeutet, dass sie mit den Berechtigungen der Gruppe `tty` ausgeführt wird.
Der Befehl `strings /usr/bin/wall` gibt die in der Datei `/usr/bin/wall` enthaltenen Strings aus. Diese Strings können Hinweise auf die Funktionsweise der Datei geben.
Der Befehl `ls -la /usr/bin/wall` gibt die Berechtigungen und den Besitzer der Datei `/usr/bin/wall` aus. Die Ausgabe zeigt, dass die Datei dem Benutzer `root` und der Gruppe `tty` gehört und das setgid-Bit gesetzt ist.
Der Befehl `uname -r` gibt die Kernel-Version des Systems aus. Die Ausgabe zeigt, dass die Kernel-Version `3.16.0-4-amd64` ist.
Die Analyse der Datei `/usr/bin/wall` und der Kernel-Version hat keine unmittelbaren Hinweise auf eine Möglichkeit zur Privilegieneskalation ergeben.
Der Befehl `searchsploit screen 4.5.0` sucht nach Exploits für die Version 4.5.0 von GNU Screen. Die Ausgabe zeigt, dass es Exploits für Local Privilege Escalation gibt.
Der Befehl `searchsploit -m 41154` kopiert das Exploit-Skript `41154.sh` in das Verzeichnis `/tmp`.
Das Exploit-Skript `41154.sh` wird angezeigt. Das Skript erstellt eine Shared Library (`/tmp/libhax.so`) und eine ausführbare Datei (`/tmp/rootshell`), die mit Root-Rechten ausgeführt wird. Anschließend wird die Datei `/etc/ld.so.preload` erstellt, um die Shared Library vorzuladen. Schließlich wird GNU Screen ausgeführt, um die Privilegieneskalation auszulösen.
Die Datei `libhax.c` wird mit dem Editor `vi` geöffnet.
Die Datei `rootshell.c` wird mit dem Editor `vi` geöffnet.
Der Befehl `ls libhax.c` listet die Datei `libhax.c` auf.
Der Befehl `ls rootshell.c` listet die Datei `rootshell.c` auf.
Der Befehl `cd ~` wechselt in das Home-Verzeichnis des Benutzers.
Der Befehl `cp rootshell.c libhax.c 41154.sh /etc` kopiert die Dateien `rootshell.c`, `libhax.c` und `41154.sh` in das Verzeichnis `/etc`.
Der Befehl `cd /etc` wechselt in das Verzeichnis `/etc`.
Der Befehl `gcc -fPIC -shared -ldl -o libhax.so libhax.c` kompiliert die Datei `libhax.c` zu einer Shared Library. Die Ausgabe zeigt einen Fehler, dass die Funktion `chmod` nicht deklariert ist.
Analyse:
Der Kompilierfehler deutet darauf hin, dass die erforderlichen Header-Dateien nicht eingebunden sind. Um den Fehler zu beheben, muss die Header-Datei `sys/stat.h` in die Datei `libhax.c` eingebunden werden.
Empfehlung:
Füge die Zeile `#include
Die Datei `libhax.so` wird mit dem Editor `vi` geöffnet.
Die Datei `rootshell.c` wird mit dem Editor `vi` geöffnet.
Die Datei `script.sh` wird mit dem Editor `vi` geöffnet.
Der Befehl `gcc -fPIC -shared -ldl -o libhax.so libhax.c` kompiliert die Datei `libhax.c` zu einer Shared Library. Die Ausgabe zeigt erneut den Fehler, dass die Funktion `chmod` nicht deklariert ist.
Analyse:
Der Fehler tritt weiterhin auf, da die Header-Datei `sys/stat.h` noch nicht in die Datei `libhax.c` eingebunden wurde.
Empfehlung:
Füge die Zeile `#include
Der Befehl `gcc -o rootshell rootshell.c` kompiliert die Datei `rootshell.c` zu einer ausführbaren Datei. Die Ausgabe zeigt mehrere Fehler, dass die Funktionen `setuid`, `setgid`, `seteuid`, `setegid` und `execvp` nicht deklariert sind.
Analyse:
Die Fehler deuten darauf hin, dass die erforderlichen Header-Dateien nicht eingebunden sind. Um die Fehler zu beheben, müssen die Header-Dateien `unistd.h` und `stdlib.h` in die Datei `rootshell.c` eingebunden werden.
Empfehlung:
Füge die Zeilen `#include
Metasploit Framework (MSF) wird gestartet und der `multi/handler`-Exploit wird verwendet, um eine Reverse Shell zu empfangen. Die LHOST (192.168.2.199) und LPORT (4444) werden festgelegt und der Exploit wird ausgeführt. Eine Command Shell-Sitzung wird geöffnet.
Die Command Shell-Sitzung wird mithilfe des `post/multi/manage/shell_to_meterpreter`-Moduls auf eine Meterpreter-Sitzung aktualisiert. Eine neue Reverse TCP-Verbindung wird auf Port 4433 gestartet und eine Meterpreter-Sitzung wird geöffnet.
Das `local_exploit_suggester`-Modul wird verwendet, um potenzielle lokale Exploits für die Privilegieneskalation zu finden.
Das `local_exploit_suggester`-Modul identifiziert zwei potenzielle Exploits: `exploit/linux/local/su_login` und `exploit/linux/local/abrt_raceabrt_priv_e`.
Das Exploit-Modul `exploit/linux/local/abrt_raceabrt_priv_esc` wird ausgewählt. Die Optionen für das Modul werden angezeigt.
Das Exploit-Modul `exploit/linux/local/abrt_raceabrt_priv_esc` wird ausgeführt. Die Ausgabe zeigt, dass das Zielsystem nicht anfällig für diesen Exploit ist.
Das Exploit-Modul `exploit/linux/local/su_login` wird ausgewählt und ausgeführt. Die Ausgabe zeigt, dass das Zielsystem anfällig für diesen Exploit ist, aber die Ausführung des Exploits keine neue Sitzung erstellt.
Die Versuche zur Privilegieneskalation sind fehlgeschlagen. Es wurden verschiedene Exploits ausprobiert, aber keiner war erfolgreich.
Der ARP-Scan zeigt die IP-Adresse und die MAC-Adresse des Zielsystems sowie den Hersteller der Netzwerkkarte. Der Eintrag in der /etc/hosts-Datei ermöglicht die Verwendung des Hostnamens `dc5.vln` anstelle der IP-Adresse. Dies erleichtert die weitere Bearbeitung.